#ifndef _MYSQL_H_
#define _MYSQL_H_
/*
#include <deque>
#include <mysql.h>
#include <utillib/stl/QueueList.h>

#pragma comment ( lib, "libMySQL.lib" )

#include <DataBase/io/DataType.h>

namespace databaselib
{
	namespace io
	{
		class AgentMYSQL;
		class MySQL : public Database
		{
		public:
			MySQL( AgentMYSQL *parentDB );
			virtual ~MySQL();

			virtual bool connect();
			virtual bool release(){};

			virtual bool executeSQL(const char *query );
			virtual bool fetch();

			virtual MySQL& operator >> ( char &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};
			virtual MySQL& operator >> ( bool &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};
			virtual MySQL& operator >> ( unsigned int &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};
			virtual MySQL& operator >> ( int &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};
			virtual MySQL& operator >> ( unsigned long &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};
			virtual MySQL& operator >> ( __int64 &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};
			virtual MySQL& operator >> ( short &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};
			virtual MySQL& operator >> ( unsigned short &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};
			virtual MySQL& operator >> ( unsigned char &out )
			{
				char *nextData = getNextData();
				if ( nextData ) out = atoi( nextData );

				return ( *this );
			};

			MySQL& operator >> ( float &out );
			MySQL& operator >> ( char *out );
			MySQL& operator >> ( struct tm &out );
			MySQL& operator >> ( SmallDate &out );

		protected:
			bool endFetch();
			
			void close();

			char *getNextData();

			bool strToTimeStamp( const char *str,struct tm *tm );
			bool strToSmallDate( const char *str,SmallDate *smallDate );
		private:
			MYSQL m_connection;
			MYSQL_RES *m_resultSet;
			MYSQL_ROW m_rowset;

			int m_columnNo;
			int m_maxColumn;

			AgentMYSQL *m_parentDB;
		};
		class AgentMYSQL : public AgentDB
		{
		public:
			AgentMYSQL();
			virtual ~AgentMYSQL();

			virtual bool initializeDataBaseEnv( char *dataBaseIP, char *defaultDB, char *userid, char *password );
			virtual bool releaseDataBaseEnv();

			DataBase *getNewDBInstance();

		public:
			char *getIP(){ return ( m_serverAddress ); };
			char *getCatalog(){ return ( m_catalog ); };
			char *getID(){ return ( m_userID ); };
			char *getPassword(){ return ( m_password ); };
			static void initialize()
			{
				SetEnvironmentVariable( "TargetDbType", "MySql" );
			};

		protected:

			char *m_password;
			char *m_userid;
			char *m_serverAddress;
			char *m_catalog;
		};
	}
}
*/
#endif